home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Business Assistant
/
Business Assistant.iso
/
indus
/
auto_inv
/
inv_0600.prg
< prev
next >
Wrap
Text File
|
1991-08-07
|
9KB
|
347 lines
*--------------------------------------------------------------------------
* Program KEV_0600 - Print Invoice Kevins Subaru Invoicing
* (c) 1989 Systematics Consulting, Inc.
*--------------------------------------------------------------------------
SET TALK OFF
SET ECHO OFF
SET STATUS OFF
CLOSE ALL
ANSWER = " "
SELECT 1
USE KEV_MSTR INDEX KEV_IDX1
SELECT 2
USE KEV_LBOR INDEX KEV_IDX2
SELECT 3
USE KEV_PART INDEX KEV_IDX3
CLEAR
DO WHILE .T.
SELECT 1
@ 24, 10 SAY "Systematics Consulting, Inc. (303)674-8445 - Program KEV_0600"
@ 1, 1 SAY DATE()
@ 1, 71 SAY TIME()
@ 2, 5 TO 5,75 DOUBLE
@ 3, 15 SAY " KEVIN'S SUBARU "
@ 4, 15 SAY " ... PRINT INVOICE ... "
@ 8, 12 SAY "ENTER 1 TO LOCATE BY INVOICE NUMBER, 2 TO LOCATE BY NAME:" GET ANSWER
@ 7, 5 TO 9, 75
READ
@ 8, 1
IF ANSWER = "1"
INV_IN = 0
@ 8, 1
@ 8, 12 SAY "ENTER INVOICE NUMBER TO LOCATE:" GET INV_IN PICTURE "#####"
@ 7, 5 TO 9, 75
READ
LOCATE FOR INV_NO = INV_IN
IF EOF()
ANSWER = " "
@ 8, 12 SAY "REQUESTED RECORD NOT FOUND, PRESS ANY KEY...." GET ANSWER
CLOSE ALL
READ
RETURN TO MASTER
ENDIF
EXIT
ENDIF
IF ANSWER = "2"
NAME_IN = SPACE(30)
@ 8, 1
@ 8, 12 SAY "ENTER LAST NAME TO LOCATE:" GET NAME_IN
@ 7, 5 TO 9, 75
READ
LOCATE FOR UPPER(LASTNAME) = UPPER(NAME_IN)
IF EOF()
ANSWER = " "
@ 8, 12 SAY "REQUESTED RECORD NOT FOUND, PRESS ANY KEY...." GET ANSWER
CLOSE ALL
READ
RETURN TO MASTER
ENDIF
EXIT
ENDIF
ENDDO
NAME = TRIM(FIRSTNAME) + " " + TRIM(LASTNAME)
@ 8, 1
@ 8, 7 SAY "Inv. #"
@ 8, 14 SAY INV_NO PICTURE "#####"
@ 8, 22 SAY NAME
@ 7, 5 TO 9, 75
ANSWER = "Y"
@ 12, 1
@ 12, 12 SAY "PRINT INVOICE FOR ABOVE NAME? (Y/N):" GET ANSWER
@ 11, 5 TO 13, 75
READ
IF UPPER(ANSWER) <> "Y"
CLOSE ALL
RETURN TO MASTER
ENDIF
@ 15, 1
@ 15, 14 SAY "PRINTING INVOICE FOR ABOVE CUSTOMER...."
@ 14, 5 TO 16, 75 DOUBLE
* ------------- print invoice master information --------
SET DEVICE TO PRINT
CLEAR
X = 1
@ X, 1 SAY " KEVIN'S COMPANY, INC."
X = X + 1
@ X, 1 SAY " 9754 Highway 285, Conifer, Colorado 80433"
X = X + 1
@ X, 1 SAY " (303)670-1174 (303)838-4199"
X = X + 1
@ X, 1 SAY "-----------------------------------------------------------------------------"
X = X + 1
@ X, 1 SAY "NAME: " + TRIM(FIRSTNAME) + " " + TRIM(LASTNAME)
@ X, 64 SAY "DATE: "
@ X, 70 SAY DATE
X = X + 1
@ X, 1 SAY "ADDRESS: " + TRIM(ADDRESS1) + " " + TRIM(ADDRESS2)
X = X + 1
ZIP1 = STR(ZIP)
@ X, 1 SAY " " + TRIM(ADDRESS3) + " " + TRIM(CITY) + ", " + TRIM(STATE) + " " + TRIM(ZIP1)
X = X + 1
@ X, 1 SAY "PHONE: "
@ X,10 SAY AREA PICTURE "###"
@ X,14 SAY "-" + TELE1 + "-" + TELE2
X = X + 1
@ X, 1 SAY "CAR TYPE " + CAR_TYPE
X = X + 1
@ X, 1 SAY "LICENSE: " + LICENSE
@ X,40 SAY "SPEEDOMETER: "
@ X,54 SAY SPEEDO
X = X + 1
IF REPAIR1 <> " "
@ X, 1 SAY "-----------------------------------------------------------------------------"
X = X + 1
@ X, 1 SAY "REPAIR INSTRUCTIONS: " + REPAIR1
X = X + 1
IF REPAIR2 <> " "
@ X, 1 SAY REPAIR2
X = X + 1
ENDIF
IF REPAIR3 <> " "
@ X, 1 SAY REPAIR3
X = X + 1
ENDIF
ENDIF
*------ save amounts from master file before getting detail files---------
X_EMS = EMMISSION
X_SUB = SUBLET
X_OIL = OIL
X_TAX = TAX_RATE
INVNO = INV_NO
*------------- print parts detail-----------------------------------
@ X, 1 SAY "-----------------------------------------------------------------------------"
X = X + 1
@ X, 1 SAY "I hereby authorize the herein repair work to be done along with the necessary"
X = X + 1
@ X, 1 SAY "material and grant you and/or your employees permission to operate the car or"
X = X + 1
@ X, 1 SAY "truck described on streets or highways for the purpose of testing/inspection."
X = X + 1
@ X, 1 SAY "A storage fee of $15.00 per day may be charged for any car or truck left more"
X = X + 1
@ X, 1 SAY "than two weeks after repairs are completed. An express mechanic's lien is "
X = X + 1
@ X, 1 SAY "acknowledged to secure the amount of repairs. The period of limitation of "
X = X + 1
@ X, 1 SAY "of the lein shall be extended to the maximum period permitted by law. "
X = X + 1
@ X, 1 SAY "NOT RESPONSIBLE FOR ANY LOSS OR DAMAGE IN CASE OF FIRE, THEFT, OR ANY OTHER "
X = X + 1
@ X, 1 SAY "CAUSE BEYOND OUR CONTROL. TERMS: CASH, APPROVED CHECK OR CREDIT CARD. "
X = X + 1
@ X, 1 SAY " Signature: _______________________________________________ "
X = X + 1
@ X, 1 SAY "-----------------------------------------------------------------------------"
X = X + 1
SELECT 3
LOCATE FOR INV_NO = INVNO
@ X, 1 SAY "QTY. PARTS DESCRIPTION UNIT COST"
X = X + 1
@ X, 1 SAY "---- ----------------------------------------- -------- --------"
X = X + 1
EXT_COST = 0
PRT_TOTL = 0
LBR_TOTL = 0
INV_TOTL = 0
DO WHILE INV_NO = INVNO .AND. .NOT. EOF()
IF PART_QTY > 0
@ X, 1 SAY PART_QTY PICTURE "###"
ENDIF
@ X, 7 SAY PART_DESC
IF PART_COST > 0
@ X, 59 SAY "$"
@ X, 60 SAY PART_COST PICTURE "####.##"
EXT_COST = ROUND(PART_QTY * PART_COST,2)
PRT_TOTL = PRT_TOTL + EXT_COST
@ X, 71 SAY "$"
@ X, 72 SAY EXT_COST PICTURE "####.##"
ENDIF
X = X + 1
IF X > 54
EJECT
X = 1
@ X, 1 SAY "QTY. PARTS DESCRIPTION UNIT COST"
X = X + 1
@ X, 1 SAY "---- ----------------------------------------- -------- --------"
X = X + 1
ENDIF
SKIP
ENDDO
@ X, 45 SAY "PARTS TOTAL -->"
@ X, 71 SAY "$"
@ X, 72 SAY PRT_TOTL PICTURE "####.##"
*------------- print labor detail-----------------------------------
* @ X, 1 SAY "-----------------------------------------------------------------------------"
X = X + 2
IF X > 50
EJECT
X = 1
ENDIF
SELECT 2
LOCATE FOR INV_NO = INVNO
@ X, 1 SAY " LABOR DESCRIPTION COST"
X = X + 1
@ X, 1 SAY " ----------------------------------------- ----------"
X = X + 1
LBR_TOTL = 0
DO WHILE INV_NO = INVNO .AND. .NOT. EOF()
@ X, 7 SAY LABOR_DESC
IF LABOR_COST > 0
@ X, 71 SAY "$"
@ X, 72 SAY LABOR_COST PICTURE "####.##"
LBR_TOTL = LBR_TOTL + LABOR_COST
ENDIF
X = X + 1
IF X > 55
EJECT
X = 1
@ X, 1 SAY " LABOR DESCRIPTION COST"
X = X + 1
@ X, 1 SAY " ----------------------------------------- ----------"
X = X + 1
ENDIF
SKIP
ENDDO
@ X, 45 SAY "LABOR TOTAL -->"
@ X, 71 SAY "$"
@ X, 72 SAY LBR_TOTL PICTURE "####.##"
X = X+2
IF X > 50
EJECT
X = 1
ENDIF
TAX_AMT = PRT_TOTL + X_OIL
TAXES = ROUND(TAX_AMT * (X_TAX / 100),2)
INV_TOTL = PRT_TOTL + LBR_TOTL + X_EMS + X_OIL + X_SUB + TAXES
@ X, 45 SAY " OIL ->"
@ X, 71 SAY "$"
@ X, 72 SAY X_OIL PICTURE "####.##"
X = X + 1
@ X, 45 SAY " TAX RATE ->"
@ X, 71 SAY "%"
@ X, 72 SAY X_TAX PICTURE "####.#"
X = X + 1
@ X, 45 SAY "AMT. TAXABLE ->"
@ X, 71 SAY "$"
@ X, 72 SAY TAX_AMT PICTURE "####.##"
X = X + 1
@ X, 45 SAY " TAXES ->"
@ X, 71 SAY "$"
@ X, 72 SAY TAXES PICTURE "####.##"
X = X + 1
@ X, 45 SAY " EMISSIONS ->"
@ X, 71 SAY "$"
@ X, 72 SAY X_EMS PICTURE "####.##"
X = X + 1
@ X, 45 SAY " SUB-LET ->"
@ X, 71 SAY "$"
@ X, 72 SAY X_SUB PICTURE "####.##"
X = X + 2
@ X, 45 SAY